﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace TecBaseObjects.Objects {
    public class MailObj {

        #region Members

        string mailAdresse;
        string anrede;
        string vorname;
        string nachname;
        string grußformel;
        string wordDocument;
        string pdfDocument;
        string targetPath;
        string titel;
        string berufsTitel;
        DateTime datum;
        string bereich;
        string vz;
        string subBereich;
        string subSubBereich;
        string datei;
        string organisation;
        string vorlage;
        string prefix = "";
        string zusatz = "";
        string rechtsform = "";

        #endregion

        #region Constructor

        public MailObj() {
        }

        public MailObj(string MailAdresse,
                        string Anrede,
                        string Vorname,
                        string Nachname,
                        string grußformel,
                        string WordDocument,
                        string PDFDocument,
                        string TargetPath,
                        string Titel,
                        string BerufsTitel
            ) {

            this.mailAdresse = MailAdresse;
            this.anrede = Anrede;
            this.vorname = Vorname;
            this.nachname = Nachname;
            this.grußformel = grußformel;
            this.wordDocument = WordDocument;
            this.pdfDocument = PDFDocument;
            this.targetPath = TargetPath;
            this.titel = Titel;
            this.berufsTitel = BerufsTitel;
        }

        #endregion

        #region Properties

        public string MailAdresse {
            get { return this.mailAdresse; }
            set { this.mailAdresse = value; }
        }

        public string Organisation {
            get { return this.organisation; }
            set { this.organisation = value; }
        }

        public string Anrede {
            get { return this.anrede; }
            set { this.anrede = value; }
        }

        public string TpBereich {
            get {
                string ret = "";
                if (this.Bereich != null && this.Bereich.Length > 0) {
                    ret += this.Bereich + @"\";
                }
                if (this.Vz != null && this.Vz.Length > 0) {
                    ret += this.Vz + @"\";
                }
                if (this.SubBereich != null && this.SubBereich.Length > 0) {
                    ret += this.SubBereich + @"\";
                }
                if (this.SubSubBereich != null && this.SubSubBereich.Length > 0) {
                    ret += this.SubSubBereich + @"\";
                }

                return ret;
            }
        }

        public string Vorname {
            get { return this.vorname; }
            set { this.vorname = value; }
        }

        public string Prefix {
            get { return this.prefix; }
            set { this.prefix = value; }
        }

        public string Zusatz {
            get { return this.zusatz; }
            set { this.zusatz = value; }
        }

        public string Rechtsform {
            get { return this.rechtsform; }
            set { this.rechtsform = value; }
        }

        public string Nachname {
            get { return this.nachname; }
            set { this.nachname = value; }
        }

        public string Grußformel {
            get { return this.grußformel; }
            set { this.grußformel = value; }
        }

        public string WordDocument {
            get { return this.wordDocument; }
            set { this.wordDocument = value; }
        }

        public string PDFDocument {
            get { return this.pdfDocument; }
            set { this.pdfDocument = value; }
        }

        public string TargetPath {
            get { return this.targetPath; }
            set { this.targetPath = value; }
        }

        public string Titel {
            get { return this.titel; }
            set { this.titel = value; }
        }

        public string BerufsTitel {
            get { return this.berufsTitel; }
            set { this.berufsTitel = value; }
        }

        public DateTime Datum {
            get { return this.datum; }
            set { this.datum = value; }
        }

        public string Bereich {
            get { return this.bereich; }
            set { this.bereich = value; }
        }

        public string Vz {
            get { return this.vz; }
            set { this.vz = value; }
        }

        public string SubBereich {
            get { return this.subBereich; }
            set { this.subBereich = value; }
        }

        public string SubSubBereich {
            get { return this.subSubBereich; }
            set { this.subSubBereich = value; }
        }

        public string Datei {
            get { return this.datei; }
            set { this.datei = value; }
        }

        public string TpFileName {
            get {
                string ret = @"T:\";

                if (this.Bereich != null && this.Bereich.Length > 0) {
                    ret += this.Bereich + @"\";
                }

                if (this.Vz != null && this.Vz.Length > 0) {
                    ret += this.Vz + @"\";
                }

                if (this.SubBereich != null && this.SubBereich.Length > 0) {
                    ret += this.SubBereich + @"\";
                }

                if (this.SubSubBereich != null && this.SubSubBereich.Length > 0) {
                    ret += this.SubSubBereich + @"\";
                }

                if (this.Datei != null && this.Datei.Length > 0) {
                    ret += this.Datei;
                }

                return ret;
            }
        }

        public string Vorlage {
            get { return this.vorlage; }
            set { this.vorlage = value; }
        }

        public string Recipient {
            get {
                string ret = "";
                if (this.Prefix != null && this.Prefix.Length > 0) {
                    ret += this.Prefix;
                }
                if (this.Organisation != null && this.Organisation.Length > 0) {
                    ret += (this.Prefix != null && this.Prefix.Length > 0 ? " " : "") + this.Organisation;
                }
                if (this.Zusatz != null && this.Zusatz.Length > 0) {
                    ret += " " + this.Zusatz;
                }
                if (this.Rechtsform != null && this.Rechtsform.Length > 0) {
                    ret += " " +this.Rechtsform;
                }
                if (this.Nachname != null && this.Nachname.Length > 0) {
                    ret += ", ";
                    ret += (this.Anrede == "Herr" ? "Herrn " : this.Anrede  + " ");
                    ret += (this.BerufsTitel == null || this.BerufsTitel.Length == 0 ? "" : this.BerufsTitel + " ");
                    ret += (this.Titel == null || this.Titel.Length == 0 ? "" : this.Titel + " ");
                    ret += (this.Vorname == null ? "" : this.Vorname + " ");
                    ret += this.Nachname;
                }
                return ret;
            }
        }

        #endregion

    }
}
